package com.example.demo.demos.web;

import org.apache.poi.xwpf.usermodel.UnderlinePatterns;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

public class CreateParagraphExample {
    public static void main(String[] args) {
        // 创建一个新的 Word 文档对象
        XWPFDocument document = new XWPFDocument();
        // 创建一个新的段落
        XWPFParagraph paragraph = document.createParagraph();
        // 在段落中创建一个新的文本运行对象
        // 创建第一个 XWPFRun 并设置文本和格式
        XWPFRun run1 = paragraph.createRun();
        run1.setText("这是第一个 XWPFRun 的文本，");
        run1.setFontSize(14);
        run1.setBold(true);
        run1.setColor("FF0000"); // 设置为红色


        // 创建第二个 XWPFRun 并设置文本和格式
        XWPFRun run2 = paragraph.createRun();
        run2.setText("这是第二个 XWPFRun 的文本，");
        run2.setFontSize(12);
        run2.setItalic(true);
        run2.setColor("00FF00"); // 设置为绿色

        // 创建第三个 XWPFRun 并设置文本和格式
        XWPFRun run3 = paragraph.createRun();
        run3.setText("这是第三个 XWPFRun 的文本。");
        run3.setFontSize(16);
        run3.setUnderline(UnderlinePatterns.SINGLE);
        run3.setColor("0000FF"); // 设置为蓝色

        List<XWPFRun> runs = paragraph.getRuns();
        for (XWPFRun r : runs) {
            int textPosition = r.getTextPosition();
            System.out.println("textPosition = " + textPosition);
        }

        try (FileOutputStream out = new FileOutputStream("newDocument.docx")) {
            // 将文档写入文件
            document.write(out);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
